package com.futureCloudMOM.core.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.futureCloudMOM.core.entity.FBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Basic_Mould", description = "模具表")
@TableName(value = "Basic_Mould")
public class BasicMould extends FBaseEntity implements Serializable {


    
    @NotBlank(message="[模具名称]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("模具名称")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "name")
    private String name;
    
    @NotBlank(message="[模具编码]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("模具编码")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "code")
    private String code;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("模具型号")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "model")
    private String model;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("模具类型")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "moldType")
    private String moldType;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("链接设备类型")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "connectFacilityType")
    private String connectFacilityType;
    
    @ApiModelProperty("模具初始仓库")
    @TableField(value = "warehouseId")
    private Long warehouseId;
    
    @ApiModelProperty("模具初始库位")
    @TableField(value = "wareAreaId")
    private Long wareAreaId;
    
    @ApiModelProperty("模具供应商ID")
    @TableField(value = "supplierId")
    private Long supplierId;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("备注")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "remark")
    private String remark;
    
    @ApiModelProperty("最大使用次数")
    @TableField(value = "maxUseQty")
    private Long maxUseQty;
    
    @ApiModelProperty("最大使用天数")
    @TableField(value = "maxUseDay")
    private Long maxUseDay;
    
    @ApiModelProperty("预警使用次数")
    @TableField(value = "alarmQty")
    private Long alarmQty;
    
    @ApiModelProperty("预警使用天数")
    @TableField(value = "alarmDay")
    private Long alarmDay;
    
    @ApiModelProperty("总使用量")
    @TableField(value = "totalUseQty")
    private Long totalUseQty;
    
    @ApiModelProperty("当前使用数量(保养后重新计算)")
    @TableField(value = "nowUseQty")
    private Long nowUseQty;
    
    @ApiModelProperty("状态")
    @TableField(value = "status")
    private Long status;
    
    @ApiModelProperty("数量预警保养模板 （常规保养在这里绑定， 计划保养类在关系表中绑定）")
    @TableField(value = "theQtyTemplateMainId")
    private Long theQtyTemplateMainId;
    
    @ApiModelProperty("天数预警保养模板")
    @TableField(value = "theDayTemplateMainId")
    private Long theDayTemplateMainId;
    
    @ApiModelProperty("")
    @TableField(value = "cavityQty")
    private Long cavityQty;






}

